#include <bits/stdc++.h>
#define debug(x) ({auto ox=x; std::cout<<"("<<(#x)<<": "<<ox<<") "; ox;})
#define ln std::cout<<std::endl<<__LINE__<<std::endl
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[100][100] = {0};
	int k=1,x=n-1,y=0,c=n-1;
	for(int i=0;i<n/2;i++)
	{   
        ln;
		for(int j=0;j<c;j++) a[debug(x)][debug(y++)]=debug(k++); 
        ln;
		for(int j=0;j<c;j++) a[debug(x--)][debug(y)]=debug(k++); 
        ln;
		for(int j=0;j<c;j++) a[debug(x)][debug(y--)]=debug(k++); 
        ln;
		for(int j=0;j<c;j++) a[debug(x++)][debug(y)]=debug(k++); 
		x++;y++;c-=2;
	}
	if(n%2)
		a[n/2][n/2]=k;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		cout<<setw(5)<<a[i][j]; 
		cout<<endl;
	}
    system("pause");
	return 0;
}
